package com.game.doudizhu.repository;

import com.game.doudizhu.model.ShopItem;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface ShopItemRepository extends JpaRepository<ShopItem, Long> {
    
    // 查找可用的商品
    List<ShopItem> findByAvailableTrue();
    
    // 根据ID列表和可用状态查找商品
    List<ShopItem> findByIdInAndAvailableTrue(List<Long> ids);
    

    // 根据价格范围查找可用商品
    List<ShopItem> findByPriceBetweenAndAvailableTrue(Integer minPrice, Integer maxPrice);
    
    // 根据名称模糊搜索可用商品
    List<ShopItem> findByNameContainingAndAvailableTrue(String name);
    
    // 查找最新上架的商品
    @Query("SELECT s FROM ShopItem s WHERE s.available = true ORDER BY s.id DESC")
    List<ShopItem> findLatestAvailableItems();
    
    // 查找特定价格以下的商品
    List<ShopItem> findByPriceLessThanEqualAndAvailableTrue(Integer maxPrice);
    
    // 查找特定价格以上的商品
    List<ShopItem> findByPriceGreaterThanEqualAndAvailableTrue(Integer minPrice);

}